Skip to content

UnchangingPropertyObservable class

Attributes: [DebuggerDisplay("UnchangingProperty: {_value}")] [EditorBrowsable(EditorBrowsableState.1)]

Defined in

Namespace: ReactiveUI.Binding.Reactive.Observables Assembly: ReactiveUI.Binding.Reactive.dll Full name: ReactiveUI.Binding.Reactive.Observables.UnchangingPropertyObservable<T> Modifiers: public sealed

Summary

View source

Observes a property that has no change notification: its value, once, and then silence.

Applies to

net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-tvos18.0, net9.0-maccatalyst18.0, net9.0-ios18.0, net9.0-macos15.0, net9.0-desktop1.0, net8.0, net8.0-macos14.5, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, netstandard2.1, net481, net462, net471

Class hierarchy
classDiagram
class UnchangingPropertyObservable~T~
class IObservable~T~ {
    <>
}
IObservable~T~ <|.. UnchangingPropertyObservable~T~

Implements: IObservable

Remarks

Deliberately never completes. A property with no mechanism behind it has one value and no further news, which is not the same as a sequence that has ended - and downstream operators read the difference. A completing source ends a binding's subscription, and inside a chain it lets the stage below tear down a subtree that is still live. The runtime engine's own fallback stays open for exactly this reason.

Hand-rolled rather than composed. The general spelling is a return followed by a never, concatenated, which is three objects where this is one - on a path taken once per binding of every unobservable property in a view.

Constructors

NameSummary
.ctorInitializes a new instance of the [UnchangingPropertyObservable](# class.

Methods

NameSummary
Subscribe
Inherited members